//
//  IEnablerService.h
//  UCiEnabler
//
//  Created by Delio Brignoli on 1/08/08.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

#import "UpdateAccessOperation.h"

@interface IEnablerService : NSObject {
@private
	IEnablerStatus status;
	NSOperationQueue *operationQueue;
	UpdateAccessOperation *currentOperation;
}

@property (nonatomic, assign) IEnablerStatus status;

+ (IEnablerService*)sharedIEnablerService;

- (void)startDeducingAccessState;
- (void)startUpdatingAccessTo:(IEnablerStatus)targetStatus forUser:(NSString *)username withPassword:(NSString *)password;
- (IEnablerStatus)updateAccessTo:(IEnablerStatus)targetStatus forUser:(NSString *)username withPassword:(NSString *)password;
- (BOOL)errorOccurred;
- (NSString *)errorReason;
- (NSString *)workaroundHint;

@property (nonatomic, retain) NSOperationQueue *operationQueue;
@property (nonatomic, retain) UpdateAccessOperation *currentOperation;

@end
